PowerPointの日本語フォントをLaTeX (platex + dvipdfmx) で正しく表示する方法
PowerPointで作成した図をLaTeXに埋め込む際、日本語フォントの見た目が変化してしまう問題の解決方法をまとめる。
環境
LaTeX: platex + dvipdfmx
図の作成: PowerPoint(游明朝など日本語フォント使用)
前提条件
graphicxパッケージに[dvipdfmx]オプションを指定する必要がある。
code: (txt)
このオプションがないと、dvipdfmxがPDFファイルを正しく読み込めず、フォントが置換される。
手順
1. PowerPointからPDF書き出し
PowerPointで図形を選択し、右クリック→「図として保存」→ファイルの種類で「PDF」を選択して保存する。このとき、フォントは自動的に埋め込まれる。書き出したPDF単体で游明朝が正しく表示されることを確認しておくとよい。
2. バウンディングボックス(xbb)の生成
dvipdfmxがPDFのサイズを認識するために、xbbファイルが必要。
code: (bash)
extractbb ファイル名.pdf
ディレクトリ内の全PDFに対して一括生成する場合:
code: (bash)
extractbb *.pdf
3. TeXファイルでの指定
includegraphicsでは拡張子を省略する。
code: (txt)
拡張子を省略することで、dvipdfmxが自動的にPDFを読み込む。
4. 同名ファイルの競合に注意
同じディレクトリにfilename.epsとfilename.pdfが両方存在する場合、どちらが読み込まれるかは環境依存となる。
PDFを優先させたい場合は、EPSファイルを別ディレクトリに退避するか削除する。
うまくいかない場合のチェックリスト
1. \usepackage[dvipdfmx]{graphicx}になっているか
2. xbbファイルが生成されているか
3. 同名のEPSファイルが存在していないか
4. includegraphicsで拡張子を省略しているか
SVG経由やEPS変換がうまくいかない理由
PowerPoint → SVG → EPS や PowerPoint → PDF → EPS のワークフローでは、変換過程でフォントがアウトライン化されたりラスタライズされたりして、見た目が崩れることがある。
そのため、直接PDFを使用する方法が最も確実。
epsでなくても良い場合は,以下のPDF書き出しを使う方法を推奨する.
ベクター画像かつ日本語フォントを維持した形で描画できる.
どうしてもepsを使用しなければならない場合は以下を参照